kubernetes 安装—基础环境准备
前提条件
Ubuntu Linux 或者 CentOS
环境初始化
设置仓库源
CentOS 系统在/etc/yum.repos.d/
目录下,使用下面命令设置仓库源1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# 可选的,更换基础源为阿里云源,注意备份同名的镜像源文件
# Centos 7 使用下面命令更换阿里云源
curl -o CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# Centos 8 使用下面命令更新阿里云源
curl -o CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
curl -o docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum clean all
yum makecache
yum repolist
Ubuntu 系统使用下面命令设置仓库
1 | apt-get update |
系统配置
关闭交换空间(如果有)
1
2swapoff -a
sed -ri "s/.*.swap.*/#&/" /etc/fstab禁用 SELinux(如果有)
1
2setenforce 0
sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux关闭防火墙(如果有)
1
2systemctl stop firewalld
systemctl disable firewalld设置内核参数
1
2
3
4
5echo 'net.bridge.bridge-nf-call-ip6tables = 1' >> /etc/sysctl.d/k8s.conf
echo 'net.bridge.bridge-nf-call-iptables = 1' >> /etc/sysctl.d/k8s.conf
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.d/k8s.conf
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf设置 hostname (单机可选,多节点需要设置防止冲突)
1
hostnamectl set-hostname master
ubuntu-server 18.04 在执行上述命令之前需要执行
sed -i "s|preserve_hostname: false|preserve_hostname: true|g" /etc/cloud/cloud.cfg
防止重启 hostname 失效。桌面版本不用设置
安装 Docker
kubernetes github 上的 CHANGELOG 记录了 kubernetes 对 Docker 版本的要求,建议选好对应的 kubernetes 版本再安装 Docker。例如如果希望安装 Kubernetes 1.15,那么查看 CHANGELOG-1.15.md,可以查看到 Kuberentes 1.15 对 Docker 的最低版本要求是 1.13.1。
CentOS 安装1
2yum install -y docker-ce # 安装最新版
yum install -y docker-ce-18.06.3.ce-3.el7 # 安装 18.06.3 版本
使用
yum list all docker-ce --showduplicates | sort -r
查看可安装的版本
Ubuntu 安装1
2apt-get install -y docker-ce # 安装最新版
apt-get install -y docker-ce=5:18.09.7~3-0~ubuntu-bionic # 安装指定版本
使用
apt-cache madison docker-ce
查看可安装的版本
Docker 设置
1 | echo '{"insecure-registries": ["0.0.0.0/0"]}' >> /etc/docker/daemon.json |
安装 kubeadm
CentOS 安装1
2yum install -y kubeadm # 安装最新的 kubeadm
yum install -y kubeadm-1.14.1-0 # 安装 kubeadm 1.14.1
使用
yum list all kubeadm --showduplicates | sort -r
查看可安装的版本
Ubuntu 安装1
2apt-get install -y kubeadm # 安装最新的 kubeadm
apt-get install -y kubeadm=1.14.1-00 # 安装 kubeadm 1.14.1
使用
apt-cache madison kubeadm
查看可安装的版本
配置 kubelet
1 | # kubelet 使用的 cgroup 要和 Docker 的 cgroup 一致 |
初始化 Kubernetes 设置(可选)
使用 kubeadm config images list
查看初始化所需要的镜像,当前版本为 1.14.1,需要的镜像有1
2
3
4
5
6
7
8
9k8s.gcr.io/kube-apiserver:v1.14.1
k8s.gcr.io/kube-controller-manager:v1.14.1
k8s.gcr.io/kube-scheduler:v1.14.1
k8s.gcr.io/kube-proxy:v1.14.1
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.10
k8s.gcr.io/coredns:1.3.1
# kubernetes-dashboard 镜像,使用的 dashboard ui 不同版本也不同
k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
编写脚本从阿里云拉取镜像再 tag
1 |
|